//header
//application/x-www-form-urlencoded   ||  application/json
// 参数名=值&参数名=参数值              ||   json数据格式

function ajax(options) {
	//设置默认值
	let defaults ={
		type:'get',
		url:'',
		data:{},
		header:{'Conten-Type':'Application/x-www-form-urlencoded' }
	}
	//开始进行替换
	Object.assign(defaults,options);
	//创建ajax对象
	var xhr =new XMLHttpRequest();
	//循环参数，转字符形式
	var params ="";
	for(var attr in defaults.data) {
		params +=attr +'='+defaults.data[attr] +'&'
	}
	params =params.substr(0, params.length -1);
	
	if(defaults.type =='get') {
		defaults.url =defaults.url +'?'+ params;
	}
	//配置ajax对象
	xhr.open(defaults.type,defaults.url);
	
	if(defaults.type =="post") {
		var contentType =defaults.header['Conten-Type']
		xhr.setRequestHeader('Content-Type',defaults.header['Conten-Type']);
		//转json格式       JSON.parse    JSON.stringify
		if(contentType =='application/json') {
			xhr.send(JSON.stringify(defaults.data))
		} else {
			xhr.send(params);
		}
		
	} else {
		xhr.send()
	}
	//接收完相应后触发
	xhr.onload =function() {
		//判断响应数据 是json 还是 字符串
		let responseText =xhr.responseText;
		let ct =xhr.getResponseHeader('Content-Type')
		if(ct.includes('application/json')) {
			JSON.parse(responseText)
		} 
		if(xhr.status ==200) {
			defaults.success(responseText);
		// } else {
		// 	defaults.error(responseText,xhr);
		}
	}
}
